package com.hnzbxy.api.biz.service;


import com.hnzbxy.api.biz.entity.ClassAdvisor;
import com.hnzbxy.api.biz.vo.ClassAdvisorVO;
import com.hnzbxy.api.system.vo.PageVO;

import java.util.List;

/**
 * 班主任业务逻辑接口
 * @Author xiaoge
 * @Date 2020/3/10 11:55
 * @Version 1.0
 **/
public interface ClassAdvisorService {

    // 新增：分页+条件查询班主任列表
    PageVO<ClassAdvisorVO> findClassAdvisorList(Integer pageNum, Integer pageSize, ClassAdvisorVO classAdvisorVO);

    // 新增：按条件查询所有班主任（用于Excel导出）
    List<ClassAdvisor> findAllByCondition(ClassAdvisorVO classAdvisorVO);

    /**
     * 获取所有班主任列表
     * @return 班主任实体类列表
     */
    List<ClassAdvisor> findAll();

    /**
     * 新增班主任
     * @param classAdvisorVO 班主任VO
     * @return 新增后的班主任实体（含自增ID）
     */
    ClassAdvisor add(ClassAdvisorVO classAdvisorVO);

    /**
     * 删除班主任
     * @param id 班主任ID
     */
    void delete(Long id);

    /**
     * 获取班主任详情（编辑用）
     * @param id 班主任ID
     * @return 班主任VO
     */
    ClassAdvisorVO edit(Long id);

    /**
     * 更新班主任信息
     * @param id 班主任ID
     * @param classAdvisorVO 班主任VO
     */
    void update(Long id, ClassAdvisorVO classAdvisorVO);

}